﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SistemaPetShop.Negocio;

namespace SistemaPetShop.Forms
{
    public partial class frmVenda : Form
    {
        Produto produto = new Produto();
        BaseClass baseClass = new BaseClass();
        

        
        public frmVenda()
        {
            InitializeComponent();
            _CarregaListaProduto();
            _CarregaDataAtual();
            //_CarregaDadosProduto();
        }



        public void _CarregaListaProduto()
        {
            cboProduto.DataSource = produto._ListaProduto();
            cboProduto.ValueMember = "idProduto";
            cboProduto.DisplayMember = "nome";


            //cboProduto.SelectedValue = 1;
        }

        public void _CarregaDadosProduto()
        {
            String codigoProduto = "System.Data.DataRowView";

            if (cboProduto.SelectedValue != null)
            {
                codigoProduto = cboProduto.SelectedValue.ToString();

                txtCodigo.Text = codigoProduto.ToString();
                
            }

            if (codigoProduto != "System.Data.DataRowView")
            {
                txtPrecoUnitario.Text = produto._RetornaValorProduto(Convert.ToInt32(codigoProduto)).ToString();    
            }
            

        }

        public void _CalculoPrecoTotalUnitario()
        {
            if ( txtQuantidadeUnitario.Text != "")
            {
                int quantidade = Convert.ToInt32(txtQuantidadeUnitario.Text);
                double precoUnitario = Convert.ToDouble(txtPrecoUnitario.Text.Replace("R$", ""));


                double total = quantidade * precoUnitario;

                txtPrecoTotalUnitario.Text = total.ToString("C");

                
            }


        }

        public void _CarregaDataAtual()
        {
            txtData.Text = System.DateTime.Today.ToString("dd/MM/yyyy");
        }

        public void _LimpaTela()
        {
            txtQuantidadeUnitario.Text = "";
            txtPrecoTotalUnitario.Text = "";
        }

       
        private void cboProduto_SelectedValueChanged(object sender, EventArgs e)
        {
            _CarregaDadosProduto();
            _LimpaTela();
        }

        private void txtCodigo_Enter(object sender, EventArgs e)
        {
            //cboProduto.SelectedValue = txtCodigo.Text;
        }

        private void txtCodigo_Leave(object sender, EventArgs e)
        {
            cboProduto.SelectedValue = txtCodigo.Text;
        }

        private void txtQuantidadeUnitario_Leave(object sender, EventArgs e)
        {
            _CalculoPrecoTotalUnitario();
        }

        public void _InsereNovoProduto()
        {
            string str1 = txtCodigo.Text;
            string str2 = cboProduto.Text;
            string str3 = txtQuantidadeUnitario.Text;
            string str4 = txtPrecoUnitario.Text;
            string str5 = txtPrecoTotalUnitario.Text;
            ListViewItem item = new ListViewItem(new string[]{str1, str2, str3,str4,str5});
            listViewDetalhes.Items.Add(item);
            _LimpaTela();
            _CalculaValorTotal();
            txtQuantidadeUnitario.Focus();

        }

        public void _CalculaValorTotal()
        {
            double total = 0;
            //double precoUnitario = Convert.ToDouble(txtPrecoUnitario.Text.Replace("R$",""));

            for (int i = 0; i < listViewDetalhes.Items.Count; i++)
            {
                total = total + double.Parse(listViewDetalhes.Items[i].SubItems[4].Text.Replace("R$",""));
                
                //ListViewItem item = listnomes.Items[i];
                //item.SubItems["Total"].Text = (int.Parse(item.SubItems["Femininas"].Text) + int.Parse(item.SubItems["Masculinas"].Text)).ToString();
            }

            txtTotal.Text = total.ToString("C");

        }


        private void btnAdicionarProduto_Click(object sender, EventArgs e)
        {
            _InsereNovoProduto();
        }

        private void listViewDetalhes_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            //txtDescricao.Text = listViewDetalhes.SelectedItems[0].Selected.ToString();
            txtDescricao.Text = listViewDetalhes.FocusedItem.SubItems[1].Text.ToString();
        }




    }
}
